package cn.zzz.openplatform.amap.model.ip;

import cn.zzz.openplatform.amap.constant.AmapUrlConstant;
import cn.zzz.openplatform.amap.model.AmapOpenApiRequest;
import lombok.*;

/**
 * IP定位请求参数
 * <a href="https://restapi.amap.com/v3/ip">接口文档</a>
 */
@EqualsAndHashCode(callSuper = true)
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class AmapIpLocationRequest extends AmapOpenApiRequest<AmapIpLocationResponse> {
    /**
     * 请求服务权限标识
     * 用户在高德地图官网申请Web服务API类型KEY
     * 必填：是
     */
    private String key;

    /**
     * IP地址
     * 需要搜索的IP地址（仅支持国内）
     * 若用户不填写IP，则取客户http中的请求来进行定位
     * 必填：否
     */
    private String ip;

    /**
     * 数字签名
     * 选择数字签名认证的付费用户必填
     * 必填：否
     */
    private String sig;

    /**
     * 返回数据格式
     * 可选值：JSON/XML
     * 默认值：JSON
     */
    private String output = "json";

    @Override
    public Class<AmapIpLocationResponse> getResponseClass() {
        return AmapIpLocationResponse.class;
    }

    @Override
    public String getUrl() {
        return AmapUrlConstant.IP_LOCATION_URL;
    }
}